const fs = require('fs');
const path = require('path');

/**
 * 自动加载路由模块
 * @param {Object} app - Express应用实例
 * @param {String} prefix - API前缀
 */
const registerRoutes = (app, prefix = '/api') => {
  // 获取routes目录下的所有路由文件
  const routeFiles = fs.readdirSync(__dirname)
    .filter(file => 
      file !== 'index.js' && 
      file !== 'spa.js' &&             // 排除SPA路由
      file.endsWith('.js') && 
      fs.statSync(path.join(__dirname, file)).isFile()
    );
  
  // 注册所有路由
  routeFiles.forEach(file => {
    try {
      const routeModule = require(path.join(__dirname, file));
      app.use(prefix, routeModule);
      console.log(`✓ 已注册路由: ${prefix}/${file.replace('.js', '')}`);
    } catch (error) {
      console.error(`✗ 路由注册失败 ${file}:`, error.message);
    }
  });
};

module.exports = {
  registerRoutes
};